package com.ruoyi.web.controller.ycdj;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.system.domain.TConfig;
import com.ruoyi.system.service.TConfigService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.aspectj.weaver.loadtime.Aj;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@Api(tags = "系统配置")
@RequestMapping("config")
public class ConfigController extends BaseController {

    @Autowired
    public TConfigService tConfigService;


    //列表
    @ApiOperation("配置列表")
    @GetMapping("getlist")
    public AjaxResult getlist(@RequestParam(value="pageNum",defaultValue = "")Integer pageNum,
                              @RequestParam(value="pageSize",defaultValue = "")Integer pageSize,
                              @RequestParam(value="configflag",defaultValue = "")String configflag) {


        QueryWrapper<TConfig> tConfigQueryWrapper = new QueryWrapper<>();

        if (!configflag.isEmpty()) {
            tConfigQueryWrapper.eq("configflag", configflag);
        }
        if (pageNum != null) {
            PageHelper.startPage(pageNum, pageSize);
            List<TConfig> tConfigList = tConfigService.list(tConfigQueryWrapper);
            PageInfo<TConfig> pageInfo = new PageInfo<>(tConfigList);
            return AjaxResult.success(pageInfo);
        } else {
            List<TConfig> tConfigList = tConfigService.list(tConfigQueryWrapper);
            return AjaxResult.success(tConfigList);
        }

    }


    @ApiOperation("新增")
    @PostMapping("add")
    public AjaxResult add(@RequestBody TConfig tConfig){
        //检查关键字是否已经存在
        QueryWrapper<TConfig>tConfigQueryWrapper=new QueryWrapper<>();
        tConfigQueryWrapper.eq("configflag",tConfig.getConfigflag());
        tConfigQueryWrapper.eq("configname",tConfig.getConfigname());
        TConfig oldconfig=tConfigService.getOne(tConfigQueryWrapper);
        if(oldconfig!=null){
            return AjaxResult.warn("关键词已存在");
        }
        return toAjax(tConfigService.save(tConfig));
    }

    @ApiOperation("编辑")
    @PostMapping("edit")
    public AjaxResult edit(@RequestBody TConfig tConfig){
        //检查关键字是否已经存在
        QueryWrapper<TConfig>tConfigQueryWrapper=new QueryWrapper<>();
        tConfigQueryWrapper.eq("configflag",tConfig.getConfigflag());
        tConfigQueryWrapper.eq("configname",tConfig.getConfigname());
        tConfigQueryWrapper.eq("configremark",tConfig.getConfigremark());
        TConfig oldconfig=tConfigService.getOne(tConfigQueryWrapper);
        if(oldconfig!=null) {
            return AjaxResult.warn("关键词已存在");
        }
        return toAjax(tConfigService.saveOrUpdate(tConfig));
    }


    @ApiOperation("删除")
    @GetMapping("delete")
    public AjaxResult delete(@RequestParam(value="id")Integer id){
        TConfig tConfig=tConfigService.getById(id);
        tConfig.setConfigstatus(0);
        return toAjax(tConfigService.saveOrUpdate(tConfig));
    }

    @ApiOperation("启用")
    @GetMapping("open")
    public AjaxResult open(@RequestParam(value="id")Integer id){
        TConfig tConfig=tConfigService.getById(id);
        tConfig.setConfigstatus(1);
        return toAjax(tConfigService.saveOrUpdate(tConfig));
    }

}
